package edu.hubu.talentmanagementsystem.model.ext;


import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import edu.hubu.talentmanagementsystem.model.Model;

import java.io.Serializable;

/**
 * <p>
 * 公司招聘文
 * </p>
 *
 * @author moonlan
 * @since 2021-03-13
 */
@TableName("company_recruitment")
public class CompanyRecruitment extends Model<CompanyRecruitment> implements Serializable {


    /**
     * 公司招聘ID
     */
    @TableId(value = "company_recruitment_id", type = IdType.AUTO)
    private Integer companyRecruitmentId;

    /**
     * 招聘公司ID
     */
    @TableField("company_recruitment_company_id")
    private Integer companyRecruitmentCompanyId;

    /**
     * 招聘公司部门ID
     */
    @TableField("company_recruitment_department_id")
    private Integer companyRecruitmentDepartmentId;

    /**
     * 招聘职位
     */
    @TableField("company_recruitment_position_id")
    private Integer companyRecruitmentPositionId;

    /**
     * 任职要求
     */
    @TableField("company_recruitment_position_requirement")
    private String companyRecruitmentPositionRequirement;

    /**
     * 岗位职责
     */
    @TableField("company_recruitment_position_duty")
    private String companyRecruitmentPositionDuty;

    /**
     * 福利待遇
     */
    @TableField("company_recruitment_position_welfare")
    private String companyRecruitmentPositionWelfare;

    /**
     * 薪资介绍
     */
    @TableField("company_recruitment_salary")
    private String companyRecruitmentSalary;

    /**
     * 工作类型
     */
    @TableField("company_recruitment_work_type_id")
    private Integer companyRecruitmentWorkTypeId;

    @TableField(exist = false)
    private WorkType workType;

    public WorkType getWorkType() {
        return workType;
    }

    public CompanyRecruitment setWorkType(WorkType workType) {
        this.workType = workType;
        return this;
    }

    /**
     * 工作学历
     */
    @TableField("company_recruitment_educational_degree_id")
    private Integer companyRecruitmentEducationalDegreeId;

    @TableField(exist = false)
    private EducationalDegree educationalDegree;

    public EducationalDegree getEducationalDegree() {
        return educationalDegree;
    }

    public CompanyRecruitment setEducationalDegree(EducationalDegree educationalDegree) {
        this.educationalDegree = educationalDegree;
        return this;
    }

    public Integer getCompanyRecruitmentId() {
        return companyRecruitmentId;
    }

    public CompanyRecruitment setCompanyRecruitmentId(Integer companyRecruitmentId) {
        this.companyRecruitmentId = companyRecruitmentId;
        return this;
    }

    public Integer getCompanyRecruitmentCompanyId() {
        return companyRecruitmentCompanyId;
    }

    public CompanyRecruitment setCompanyRecruitmentCompanyId(Integer companyRecruitmentCompanyId) {
        this.companyRecruitmentCompanyId = companyRecruitmentCompanyId;
        return this;
    }

    public Integer getCompanyRecruitmentDepartmentId() {
        return companyRecruitmentDepartmentId;
    }

    public CompanyRecruitment setCompanyRecruitmentDepartmentId(Integer companyRecruitmentDepartmentId) {
        this.companyRecruitmentDepartmentId = companyRecruitmentDepartmentId;
        return this;
    }

    public Integer getCompanyRecruitmentPositionId() {
        return companyRecruitmentPositionId;
    }

    public CompanyRecruitment setCompanyRecruitmentPositionId(Integer companyRecruitmentPositionId) {
        this.companyRecruitmentPositionId = companyRecruitmentPositionId;
        return this;
    }

    public String getCompanyRecruitmentPositionRequirement() {
        return companyRecruitmentPositionRequirement;
    }

    public CompanyRecruitment setCompanyRecruitmentPositionRequirement(String companyRecruitmentPositionRequirement) {
        this.companyRecruitmentPositionRequirement = companyRecruitmentPositionRequirement;
        return this;
    }

    public String getCompanyRecruitmentPositionDuty() {
        return companyRecruitmentPositionDuty;
    }

    public CompanyRecruitment setCompanyRecruitmentPositionDuty(String companyRecruitmentPositionDuty) {
        this.companyRecruitmentPositionDuty = companyRecruitmentPositionDuty;
        return this;
    }

    public String getCompanyRecruitmentPositionWelfare() {
        return companyRecruitmentPositionWelfare;
    }

    public CompanyRecruitment setCompanyRecruitmentPositionWelfare(String companyRecruitmentPositionWelfare) {
        this.companyRecruitmentPositionWelfare = companyRecruitmentPositionWelfare;
        return this;
    }

    public String getCompanyRecruitmentSalary() {
        return companyRecruitmentSalary;
    }

    public CompanyRecruitment setCompanyRecruitmentSalary(String companyRecruitmentSalary) {
        this.companyRecruitmentSalary = companyRecruitmentSalary;
        return this;
    }

    public Integer getCompanyRecruitmentWorkTypeId() {
        return companyRecruitmentWorkTypeId;
    }

    public CompanyRecruitment setCompanyRecruitmentWorkTypeId(Integer companyRecruitmentWorkTypeId) {
        this.companyRecruitmentWorkTypeId = companyRecruitmentWorkTypeId;
        return this;
    }

    public Integer getCompanyRecruitmentEducationalDegreeId() {
        return companyRecruitmentEducationalDegreeId;
    }

    public CompanyRecruitment setCompanyRecruitmentEducationalDegreeId(Integer companyRecruitmentEducationalDegreeId) {
        this.companyRecruitmentEducationalDegreeId = companyRecruitmentEducationalDegreeId;
        return this;
    }

    @Override
    public String toString() {
        return "CompanyRecruitment{" +
                "companyRecruitmentId=" + companyRecruitmentId +
                ", companyRecruitmentCompanyId=" + companyRecruitmentCompanyId +
                ", companyRecruitmentDepartmentId=" + companyRecruitmentDepartmentId +
                ", companyRecruitmentPositionId=" + companyRecruitmentPositionId +
                ", companyRecruitmentPositionRequirement=" + companyRecruitmentPositionRequirement +
                ", companyRecruitmentPositionDuty=" + companyRecruitmentPositionDuty +
                ", companyRecruitmentPositionWelfare=" + companyRecruitmentPositionWelfare +
                ", companyRecruitmentSalary=" + companyRecruitmentSalary +
                ", companyRecruitmentWorkTypeId=" + companyRecruitmentWorkTypeId +
                ", companyRecruitmentEducationalDegreeId=" + companyRecruitmentEducationalDegreeId +
                "}";
    }
}
